key controller: Enforce limitations of key forwarding
authorMatthias Clasen <mclasen@redhat.com>
Fri, 8 Mar 2019 15:21:02 +0000 (10:21 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 17 Mar 2019 01:24:45 +0000 (21:24 -0400)
We now set current_event for focus-change as well,
so make sure to check the event type.

gtk/gtkeventcontrollerkey.c

index 290909597945ae0929a3c0d71b62d7438b982664..f7f3fe1017e03de187b8df3bb87bc9a451044ddc 100644 (file)
@@ -486,6 +486,8 @@ gtk_event_controller_key_forward (GtkEventControllerKey *controller,
   g_return_val_if_fail (GTK_IS_EVENT_CONTROLLER_KEY (controller), FALSE);
   g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
   g_return_val_if_fail (controller->current_event != NULL, FALSE);
+  g_return_val_if_fail (gdk_event_get_event_type (controller->current_event) == GDK_KEY_PRESS ||
+                        gdk_event_get_event_type (controller->current_event) == GDK_KEY_RELEASE, FALSE);
 
   if (!gtk_widget_get_realized (widget))
     gtk_widget_realize (widget);